<?
	/*
		Администраторская часть системы.
		author: djerom
		date: 2011-07-09
		version: 0.0.0.1
	*/
	class c_manager_controller extends c_base_controller
	{
		function index($args)
		{
			global $mvc;
			
			$mvc->theme->name = 'default';
			$mvc->theme->set_item('header', 'admin_header');
			$mvc->theme->set_item('footer', 'admin_footer');

			// Пользователь авторизован.
			if ($mvc->user->logged())
			{
				$c_contr = new c_controllers_list_controller();
				foreach($c_contr->get_list() as $name => $contr)
				{
					if ($contr['visible'] || ($name == 'controllers_list'))
						$this->controllers[] = $name;
				}

				
				/*
				// Получаем список файлов в папке controllers.
				$files = glob($mvc->parse('{base_path}controllers/*.php'));
				foreach($files as $k => $v)
				{
					// Есди это файл контроллера, то добавим его в список.
					preg_match('/c_(\\w*)_controller.php$/i', $v, $subs);
					
					if (sizeof($subs) > 1)
						$this->controllers[] = $subs[1];
				}
				// Сортируем контроллеры.
				sort($this->controllers);
				*/
				// Отдаем на визуализацию.
				return $this->show('authorized');
			}
			else
			{
				return $this->show('unauthorized');
			}
		}
		
		function controller($args)
		{
			$x = eval ('return new c_'.$args[2].'_controller();');
			return $x->index(array());			
		}
		
		function login($args)
		{
			global $mvc;
			$name = $_REQUEST['login'];
			$pass = $_REQUEST['password'];
			
			$user = new c_mvc_user_model($name);
			
			if (!$user->login($pass))
			{
				$this->message = $mvc->tr('<font color="red">Login error. Please check entered data</font>');
				return $this->index($args);
			}
			else
			{
				$mvc->redirect($this->base_url);
			}
		}
		
		function logout($args)
		{
			global $mvc;
			$mvc->user->logout();

			$mvc->redirect($this->base_url);
		}
	}
?>